.dmn-combobox {
  .dmn-normalize;
  .borderbox;

  position: relative;

  display: table;
  width: 100%;

  label,
  input {
    display: table-cell;
    vertical-align: middle;
  }

  label {
    .tjs-label;
    padding-right: @dmn-horizontal-padding;
  }

  input {
    .focused();
    padding: @dmn-vertical-padding @dmn-horizontal-padding;
    border: 1px solid;
    width: 100%;
    position: relative;
    z-index: 1;
  }

  .cb-caret {
    position: absolute;
    right: @dmn-horizontal-padding;
    top: @dmn-vertical-padding;
    bottom: @dmn-vertical-padding;
    display: block;
    z-index: 2;
    text-align: center;
    cursor: pointer;

    &:before {
      .dmn-font();
      position: absolute;
      display: block;
      right: 0;
      width: 1.2em;
      height: @line-height-computed;
      line-height: @line-height-computed;
      height: 1.2em;
      top: 50%;
      margin-top: -0.6em;
      content: '\E801';
    }

    &:hover:before {
      color: @dmn-primary;
    }
  }

  &.expanded .cb-caret:before {
    content: '\E800';
  }
}

.dmn-combobox-suggestions {
  .tooltip(@dmn-gray-dark, #fff);

  z-index: 999;
  list-style: none;
  padding: 0;
  margin: 0;
  border: 1px solid @dmn-gray;
  margin-top: 5px;

  &:before {
    content: '';
    display: block;
    height: 4px;
    top: -4px;
    width: 100%;
    z-index: 10;
    background-color: inherit;
    position: absolute;
    border: 1px solid @dmn-gray;

    left: -1px;
    z-index: 1;
  }

  li {
    position: relative;
    z-index: 2;
    padding: 0;
    margin: 0;
    min-height: 12px;
    padding: @dmn-vertical-padding @dmn-horizontal-padding;
    cursor: pointer;

    border-bottom: 1px solid @dmn-gray-light;

    background-color: #fff;
    .transition(background-color 0.218s ease);

    .focused();

    &:hover {
      background-color: lighten(@dmn-primary, 55%);
    }
    &:first-child {
      margin-top: -4px;
    }
    &:last-child {
      border-bottom: 0;
    }
  }
}
